The present invention relates in general to a computer application executing in a real-mode environment, such as DOS, on a computer system and interacting with a USB storage device coupled to the computer system, and in particular to performing a disaster recovery for a computer system operating in a DOS environment from a USB storage device.
It is common today for users to utilize personal computers (e.g., IBM PCs or an imac) that have an operating system, such as Microsoft Windows or DOS, executing thereon. Often, users buy a storage device to perform backups to save the state of their systems because, should some disastrous event (such as a crash, virus, etc.) occur, then the operating system can be restored. Present day attempts at such backup applications involve software like that marketed under the trademark Backup Exec, owned by Veritas Corporation, that can essentially back up all files from a user""s hard drive onto a storage device, such as a CD Re-Writeable (CDRW) drive. In conjunction with such a system, the backup application will create a xe2x80x9cbootxe2x80x9d floppy, for cases where a user has some catastrophic failure such as where the hard drive fails, etcetera. When provided for in this manner, the user can boot up off the floppy (which itself typically boots into a DOS operating system) and then run a DOS application provided by the backup vendor to restore the hard drive contents. This so-called disaster recovery application will retrieve data (e.g., files) off the storage device (e.g., a CDRW drive) and restore it to the user""s hard drive so that one can thereafter boot back up off of the hard drive and return the system to normal.
The problem with this type of disaster recovery is that the industry is moving toward Universal Serial Bus (USB) storage devices (e.g., USB versions of CDRW drives). USB is a well-known external bus standard that typically supports data transfer rates of 12 Mbps (12 million bits per second). A single USB port can be used to connect dozens of peripheral devices such as mice, modems, keyboards, and storage devices to a computer. Many people anticipate that USB will eventually replace serial and parallel ports that are commonly found in present-day computer systems. Because of the advantages offered by USB and the increasing implementation of USB within computer systems, it is desirable to allow users to perform a disaster recovery of a computer system from a storage device connected to the computer system via USB.
However, when a user boots a computer system (e.g., a PC, notebook computer, or any other type of computer system) from a disaster recovery floppy, such computer system is running in a DOS operating system environment, where support for USB does not exist. As such, users are limited within a DOS operating system environment, as a disaster recovery application executing in DOS cannot communicate with a USB storage device to retrieve files from the storage device in order to restore such files back to the computer""s hard drive. Essentially, under prior art solutions, one cannot perform a disaster recovery if the storage device is on a USB, and the disaster recovery application utilizes a DOS operating system environment.
Additionally, instances other than the above-described disaster recovery exist wherein an application may execute in a real-mode environment in which USB is not supported, such as DOS, and such application may desire to interact with a USB storage device. In the prior art, such application would not be capable of interacting with a USB storage device as desired. For instance, an application may be designed to execute in a DOS environment (or other environment in which USB is not supported) and may interact with one or more USB storage devices, such as a CDRW drive, a DVD drive, other optical storage devices, a ZIP drive, a SuperDisk drive (e.g., as developed by Imation Corporation), a floppy drive, a high floppy (HiFD) disk drive (e.g., as developed by Sony), a rotating magnetic storage device, and a sequential tape storage device. However, the application may be installed on a computer system in which such storage devices are coupled to the computer system via a USB port. Thus, the application designed to execute in a DOS environment may be incapable of interacting with the desired USB storage devices.
In view of the above, there is a desire for a system and method that allow a computer application that executes in an environment in which USB is not supported (e.g., DOS) to interact with USB storage devices. A further desire exists for a system and method for restoring a computer system from a USB storage device. More specifically, a desire exists for a system and method that allow a disaster recovery to be performed for a computer system from a USB storage device, wherein the disaster recovery application executes in an environment in which support for USB does not exist (e.g., in DOS).
These and other objects, features and technical advantages are achieved by a system and method for enabling a computer application that executes in an environment in which USB is not supported (e.g., DOS) to interact with USB storage devices. For example, a system and method is disclosed for restoring a computer system from a storage device on a USB. In order to effectuate the above, a preferred embodiment of the present invention provides support for a DOS environment such that a user is able to utilize a disaster recovery application which works with a USB type storage device. A USB type storage device includes but is not limited to the following types of storage devices coupled to a computer via USB: a CD drive (e.g., a Hewlett-Packard type CDRW drive), a DVD drive, other optical storage devices, a ZIP drive, a SuperDisk drive (e.g., as developed by Imation Corporation), a floppy drive, a high floppy (HiFD) disk drive (e.g., as developed by Sony), a rotating magnetic storage device, and a sequential tape storage device.
In so providing, a preferred embodiment contemplates implementation of a driver that provides full feature functionality for controlling the USB hardware. The driver is written such that existing disaster recovery applications need not change and need not involve support from a third party (e.g., need not involve a special USB version of a disaster recovery application). Thus, a preferred embodiment can utilize an existing disaster recovery application, yet make such application appear seamless such that it will appear that it is operating with a Small Computer System Interface (SCSI) device or Enhanced Integrated Drive Electronices (EIDE) device, e.g., AT Attachment Packet Interface (ATAPI) device. In actuality, however, the application is really operating across the USB. Such provision further allows the user to connect to more primitive systems if needed, and even to connect in arcane cases where, for example, a Microsoft logo requirement is used on CD ROM manufacturers, which would necessarily require installation of a Windows operating system from the device on a bare machine.
Furthermore, the disclosure is enabling for applications other than disaster recovery applications to interact with USB storage devices. Thus, in a most preferred embodiment, a real-mode driver is implemented to allow a computer application executing in an environment in which USB is not supported (which may or may not be a disaster recovery application) to interact with a desired USB storage device.
It should be appreciated that a technical advantage of one aspect of the present invention is that a system and method for enabling a computer application that executes in an environment, in which support for USB does not exist, to interact with desired USB storage devices. It should further be appreciated that a technical advantage of one aspect of the present invention is that a system and method for restoring a computer system from a USB storage device are provided. A further technical advantage of one aspect of the present invention is that such a disaster recovery from a USB storage device may be accomplished utilizing an existing disaster recovery application that executes in an environment in which USB is not supported (e.g., the DOS environment). Accordingly, a special-purpose USB disaster recovery application is not required to accomplish a disaster recovery from a USB storage device. Thus, as an example of a preferred embodiment, a user may create a backup of a computer system on a USB storage device and have the capability of performing a disaster recovery from the USB storage device utilizing any disaster recovery application that executes in a DOS environment.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.